package com.soup.lab.basic.initialization;

import java.util.HashMap;
import java.util.Map;

public class Father extends Grandfather {

    private static final Map<String, Object> global = createStaticMap();

    private final Map<String, Object> map = createMap();

    static {
        System.out.println("father static block");
    }

    {
        System.out.println("father pre-constructor block 1");
    }

    public Father() {
        System.out.println("father constructor");
    }

    {
        System.out.println("father after-constructor block 2");
    }

    private Map<String, Object> createMap() {
        System.out.println("father init property");
        return new HashMap<>();
    }

    private static Map<String, Object> createStaticMap() {
        System.out.println("father init global property");
        return new HashMap<>();
    }
}
